1. Technical field
This disclosure generally relates to maintenance for automated software testing.
2. Description of the Related Art
Software failures can put a business at risk and affect the credibility of software development and information technology staff in the eyes of business managers. Therefore, extensive testing of software applications is an important part of software development. A Quality Assurance (QA) organization may automate testing to thoroughly test an application under test (AUT). Automated testing may be used for many types of testing, such as functional testing, graphical user interface (GUI) testing, Service Oriented Architecture (SOA) integration, and regression testing, to reduce the risks of application failures.
Automated testing may be performed in an automated testing environment. An automated testing environment allows a tester to input an automated test simulating a user interacting with an AUT, and then repeatedly execute the AUT using the automated test in order to find errors in the AUT and ensure that the AUT behaves as it should on subsequent executions. If the AUT changes, the automated test may also need to be changed to reflect the changes to the AUT. Changing the automated test may be a complex process, as the automated test may need to be completely rewritten from the beginning to interact properly with the changed AUT, or the tester may need to go step-by-step through the automated test to find the source of the error. As the AUT may change many times during a testing cycle, updating the automated test may become costly and time consuming.